package entities;


import java.sql.Date;
import java.util.ArrayList;
import java.util.List;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;

import org.hibernate.annotations.LazyCollection;
import org.hibernate.annotations.LazyCollectionOption;

@Entity
@Table (name = "SolicitudesCotizacion")
public class SolicitudCotizacion extends EntidadBase {
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	
	@Id
	@Column (name = "idSolicitud")
	@GeneratedValue(strategy = GenerationType.AUTO)
	private int nroSolicitud;
	private Date fechaSolicitud;
	private Date fechaEnvio;
	
	@ManyToOne
	@JoinColumn(name = "IdODV", referencedColumnName = "IdODV")
	private ODV odv;
	
	@OneToMany(cascade = CascadeType.ALL)
	@LazyCollection(LazyCollectionOption.FALSE)
    @JoinColumn(name ="idSolicitud")
	private List<ItemSolicitud> items;

	public SolicitudCotizacion(){
		items = new ArrayList<ItemSolicitud>();
	}

	public int getNroSolicitud() {
		return nroSolicitud;
	}

	public void setNroSolicitud(int nroSolicitud) {
		this.nroSolicitud = nroSolicitud;
	}

	public Date getFechaSolicitud() {
		return fechaSolicitud;
	}

	public void setFechaSolicitud(Date fechaSolicitud) {
		this.fechaSolicitud = fechaSolicitud;
	}

	public Date getFechaEnvio() {
		return fechaEnvio;
	}

	public void setFechaEnvio(Date fechaEnvio) {
		this.fechaEnvio = fechaEnvio;
	}

	public ODV getOdv() {
		return odv;
	}

	public void setOdv(ODV odv) {
		this.odv = odv;
	}

	public List<ItemSolicitud> getItems() {
		return items;
	}

	public void setItems(List<ItemSolicitud> items) {
		this.items = items;
	}
	
	
	
}
